import { reqCategoryList, reqFloorList, reqGetBannerList} from "@/api";

//home模块的小仓库
const state = {
    // state 中数据默认初始值，根据接口返回初始值定义(服务器返回对象，服务器返回数组)
    categoryList:[],
    //轮播的数据
    bannerList:[],
    //楼层(floor)组件数据
    floorList:[],
};
const mutations = {
    CATEGORYLIST(state, categoryList){
        state.categoryList = categoryList;
    },
    //修改首页轮播
    GETBANNERLIST(state, bannerList){
        state.bannerList = bannerList;
        // console.log('在修改仓库中的bannerlist数据')
    },
    //修改(floor)楼层数据
    GETFLOORLIST(state, floorList){
        state.floorList = floorList;
    }
};
//action|用户处理派发action地方的，可以书写异步语句、自己逻辑地方
const actions = {
    //通过API 里面的接口函数调用，向服务器 发请求，获取服务器的数据
  async categoryList({commit}){
        //reqgetCategoryList返回的是一个Promise对象
        //需要用await接受成功返回的结果，await必须要结合async一起使用（CP）
        let result = await reqCategoryList();
        if (result.code == 200) {
          commit("CATEGORYLIST", result.data);
        }
   },

   //获取首页轮播图数据
  async getBannerList({commit}){
    // console.log('在向服务器发起ajax请求，获取轮播图数据')
    let result = await reqGetBannerList();
    if(result.code == 200){
        commit('GETBANNERLIST', result.data);
    }
    // console.log(result);
   },

   //获取floor数据
   async getFloorList({commit}){
    let result = await reqFloorList();
    if(result.code == 200){
        //提交mutation
        commit("GETFLOORLIST", result.data);
    }
   }

};
const getters = {};
export default  {
    state,
    mutations,
    actions,
    getters
}
